关于linux一个编程
有这样一个需求,某公司每月定期删除某些电脑里固定文件夹中一月未用的文件。
要求:通过配置IP来实现对文件的删除
function $1 $2
$1: IP
$2: password
问题和要求大概就是这样了,我可以找到最近一月未用文件,也可实现删除,但怎么实现在别人电脑删除固定文件夹里的内容呢,我用 ssh root@(对方IP) 输入密码即可进入IP对应的终端,但怎么实现删除功能呢,(如果我说的不清楚可再问)求大神指点。
------解决方案--------------------ftp, sftp都比较方便, 建议编程实现, Php写这个很简单,当然其他高级点的脚本语言都很容易实现, shell就笨拙了。
<?php
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);
$statinfo = ssh2_sftp_lstat($sftp, '/path/to/symlink');
$filesize = $statinfo['size'];
$group = $statinfo['gid'];
$owner = $statinfo['uid'];
$atime = $statinfo['atime'];
$mtime = $statinfo['mtime'];
$mode = $statinfo['mode'];
?>
一个简单的示例代码演示了sftp如何获取远程文件的访问时间等信息。
FTP更灵活一些,接口更多比如遍历目录,你可以看一下:
http://cn2.php.net/manual/en/function.ftp-rawlist.php
------解决方案--------------------ssh user@remote_host "ls -al"
确保你的root用户可以自动登录
public key放到文件
/root/.ssh/authorized_keys
sshd的配置当中/etc/ssh/sshd_config开启root可以自动登录。