相关疑难解决方法(0)

rm,cp,mv命令的参数列表太长错误

我在UNIX的目录下有几百个PDF.PDF的名称非常长(大约60个字符).

当我尝试使用以下命令一起删除所有PDF时:

rm -f *.pdf
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

/bin/rm: cannot execute [Argument list too long]
Run Code Online (Sandbox Code Playgroud)

这个错误的解决方案是什么?这个错误是否也出现在命令mvcp命令中?如果是,如何解决这些命令?

unix linux command-line-arguments

584
推荐指数
13
解决办法
53万
查看次数

使用Unix中的shell脚本删除超过10天的文件

我是shell脚本的新手,有人可以帮忙吗?我想删除文件夹中的脚本,从当前日期回到10天.脚本如下:

2012.11.21.09_33_52.script
2012.11.21.09_33_56.script
2012.11.21.09_33_59.script
Run Code Online (Sandbox Code Playgroud)

该脚本将每隔10天与Crontab一起运行,这就是我需要当前日期的原因.

unix bash shell find

121
推荐指数
3
解决办法
27万
查看次数

查找和删除超过x天的文件或文件夹

我想删除超过7天的文件和文件夹,所以我尝试了

[17:07:14 root@client01.abc.com:~]# find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;
Run Code Online (Sandbox Code Playgroud)

因此,当我运行find /tmp/ -mindepth 1 -maxdepth 1 -ctime +7 -exec ls -l {} \;它不显示任何目录,但因为find /tmp/ -mindepth 1 -maxdepth 2 -ctime +7 -exec ls -l {} \;它确实显示在subdir中的几个文件.

什么是在一个特定目录中删除超过7天的文件/文件夹的正确方法?

linux shell automation

11
推荐指数
4
解决办法
4万
查看次数

Gitlab Omnibus:从Amazon S3删除备份

我想删除超过1周的备份文件.我从gitlab 跟踪了这个备份文档,并成功创建了备份文件以上传到Amazon S3.

我也设置gitlab_rails['backup_keep_time'] = 604800但它不起作用.

但是,从我在他们创建的IAM用户策略中观察到的内容.无权删除文件.

备份文件正在打包,我不想在AWS中手动执行此操作.

是否有任何标准方法可以删除Amazon S3中用于gitlab omnibus包的备份文件?

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1412062044000",
      "Effect": "Allow",
      "Action": [
        "s3:AbortMultipartUpload",
        "s3:GetBucketAcl",
        "s3:GetBucketLocation",
        "s3:GetObject",
        "s3:GetObjectAcl",
        "s3:ListBucketMultipartUploads",
        "s3:PutObject",
        "s3:PutObjectAcl"
      ],
      "Resource": [
        "arn:aws:s3:::my.s3.bucket/*"
      ]
    },
    {
      "Sid": "Stmt1412062097000",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketLocation",
        "s3:ListAllMyBuckets"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "Stmt1412062128000",
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": [
        "arn:aws:s3:::my.s3.bucket"
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

crontab amazon-s3 gitlab gitlab-omnibus

8
推荐指数
1
解决办法
3190
查看次数

自动删除旧的Python日志文件

我有一个每天运行的 Python 程序。我使用loggingFileHandler 模块将日志写入文件。我希望每次运行的日志都位于其自己的带有时间戳的文件中。但是,我想删除旧文件(例如 > 3 个月)以避免填满磁盘。

我查看了 RotatingFileHandler 和 TimedRotatingFileHandler,但我不希望单次运行的日志被分割到多个文件中,即使单次运行需要几天时间。有内置方法吗?

python logging

7
推荐指数
2
解决办法
2万
查看次数

使用查找删除超过 n 天的目录

我的要求与这个问题几乎相同:Shell script to delete paths超过n天 我的目录如下所示:

Jul 24 05:46 2013_07_24

Jul 31 22:30 2013_08_01

Sep 18 05:43 2013_09_18

Oct 07 08:41 2013_10_07
Run Code Online (Sandbox Code Playgroud)

我想删除所有超过 90 天的内容。根据上述线程中给出的解决方案,我在脚本中使用了以下内容:

find $BASE_DIR  -type d -ctime +90 -exec rm -rf  {} \;
Run Code Online (Sandbox Code Playgroud)

该脚本成功删除了目录,但也失败并出现以下错误:

find: 0652-081 cannot change directory to <actual_path>:
  : A file or directory in the path name does not exist.
Run Code Online (Sandbox Code Playgroud)

这里唯一的事情是 $BASE_DIR 指向虚拟位置,而错误消息中的actual_path 指向实际位置。环境中有软链接。

unix shell

5
推荐指数
1
解决办法
1856
查看次数